import { picUrlConstruct } from '@/constant/constant';

/**
 * 图片URL处理工具函数
 */

/**
 * 构建完整的图片URL
 * @param {string} url - 相对路径或完整URL
 * @returns {string} 完整的图片URL
 */
export function buildImageUrl(url) {
  return picUrlConstruct(url);
}

/**
 * 批量构建图片URL列表
 * @param {Array} pictureList - 图片列表
 * @returns {Array} 处理后的图片URL列表
 */
export function buildImageUrls(pictureList) {
  if (!Array.isArray(pictureList)) {
    return [];
  }
  
  return pictureList.map(pic => ({
    ...pic,
    url: buildImageUrl(pic.url)
  }));
}

/**
 * 获取图片预览URL列表
 * @param {Array} pictureList - 图片列表
 * @returns {Array} 图片URL数组
 */
export function getPreviewUrls(pictureList) {
  if (!Array.isArray(pictureList)) {
    return [];
  }
  
  return pictureList.map(pic => buildImageUrl(pic.url));
}

/**
 * 获取第一张图片URL
 * @param {Array} pictureList - 图片列表
 * @returns {string} 第一张图片的URL，如果没有图片返回空字符串
 */
export function getFirstImageUrl(pictureList) {
  if (!Array.isArray(pictureList) || pictureList.length === 0) {
    return '';
  }
  
  return buildImageUrl(pictureList[0].url);
}

/**
 * 检查是否有图片
 * @param {Array} pictureList - 图片列表
 * @returns {boolean} 是否有图片
 */
export function hasImages(pictureList) {
  return Array.isArray(pictureList) && pictureList.length > 0;
}

/**
 * 获取图片数量
 * @param {Array} pictureList - 图片列表
 * @returns {number} 图片数量
 */
export function getImageCount(pictureList) {
  return Array.isArray(pictureList) ? pictureList.length : 0;
}

/**
 * 处理图片加载错误的默认图片
 * @returns {string} 默认图片URL
 */
export function getDefaultImage() {
  return '';
}